.NET Persistence API
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
The .NET Persistence API, also referred to as NPA, is a persistence and object–relational mapping (ORM) specification for the .NET framework.cite-ref-1[1]
NPA is based on the Java Persistence API (JPA), which is the standard persistence API in the Java world. NPA follows JPA by providing a complete persistence API and a rich set of ORM features.cite-ref-autogenerated1-2-0[2]cite-ref-3[3]
Contents
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Motivation
The main purposes of the .NET Persistence API (NPA) are:cite-ref-autogenerated1-2-1[2]
• To provide a vendor-free persistence API for .NET, making switching from one persistence provider to another easier (avoiding vendor lock-in).
• To provide a cross-language persistence API by extending the popular Java Persistence API (JPA) to all the .NET programming languages.
Technology
• Object-oriented API for working against databases (usually RDBMS).
• Query language, based on SQL, for retrieving data from the database in an object oriented manner.
• Support of persisting POCO (plain old CLR objects) objects (entities).
• Two methods for marking classes as entity classes and for specifying other settings:
• Using attributes – meta data is embedded in class definitions in the source code.
• Using external XML – meta data is specified in external XML resource files.
Implementations
NPA is a persistence specification. To use NPA an implementation of the specification is required. Persistence and ORM vendors can provide their own implementations of NPA.
References
cite-note-11. ↑ NPersistence | JPA for the .NET platform
cite-note-autogenerated1-22. ↑ "FAQ | NPersistence". Archived from the original on 2012-04-26. Retrieved 2018-08-24.
cite-note-33. ↑ c# – What is the equivalent of JPA in .NET? – Stack Overflow
cite-note-44. ↑ "API Reference". Archived from the original on 2012-04-26. Retrieved 2018-08-24.
cite-note-55. ↑ NPersistence – NuGet Must Haves
cite-note-66. ↑ "NPA for NHibernate". Archived from the original on 2012-04-26. Retrieved 2011-12-30.
cite-note-77. ↑ What is the equivalent of Java Persistence API for .NET? – AnandTech Forums
External links